#include <my_header.h>

/* Usage: ./1_read shared.pipe */
int main(int argc, char *argv[]){                                  
    ARGS_CHECK(argc, 2);
    int pipe_fd = open("shared.pipe", O_RDONLY);
    ERROR_CHECK(pipe_fd, -1, "open read");

    while(1)
    {
        char buf[60] = { 0 };
        read(pipe_fd, buf, sizeof(buf));
        printf("read: %s\n", buf);
    }
    // 若写端关闭 读端会读取0作为返回
    close(pipe_fd);
    return 0;
}

#if 0
当我们另开一个窗口(新的进程)使用`cat 1.pipe`读取管
道数据, 相当于开启了管道的读端,  这可以使之前打开的
写端正常写入,  从阻塞态变为非阻塞态写入;  等写端写入
完成之后, 读端读出写入数据。

#endif
